import Toast from "./Toast.vue";

// 将吐司对象导出
const obj = {
  // 给对象写一个install方法 让vue安装
  // vue: vue传递过来的实例对象
  install(vue) {
    // console.log("这是toast的install方法 vue实例 >>>", vue);
    // console.log(Toast.$el); // undefined
    // 1. 将组件对象添加到body标签中 ps: 可能组件还没挂载, 此方式行不通
    // document.body.appendChild(Toast.$el);

    // 1. 创建一个组件构造器
    const toastConstructor = vue.extend(Toast);

    // 2. new的方式, 根据组件构造器, 可以创建出来一个组件对象
    const toast = new toastConstructor();

    // 3. 将组件对象, 手动挂载到某一个元素上
    toast.$mount(document.createElement('div'));

    // console.log(toast.$el); // 此时组件对象就已经挂载创建的div标签上了

    // 4. 然后将这个div元素挂载到body标签上即可
    document.body.appendChild(toast.$el);

    // 将对象添加到vue原型上
    vue.prototype.$toast = toast;
  }
}


export default obj;